require 'fileutils'

USE_STLPORT = true

puts "symboldevice extension !"

namespace "build" do

  task :config do

    $targetdir = ENV['TARGET_TEMP_DIR']
    raise "TARGET_TEMP_DIR is not set" if $targetdir.nil?

    $tempdir = ENV['TEMP_FILES_DIR']
    raise "TEMP_FILES_DIR is not set" if $tempdir.nil?

    $rootdir = ENV['RHO_ROOT']
    raise "RHO_ROOT is not set" if $rootdir.nil?

    $xcodebuild = ENV['XCODEBUILD']	
    raise "XCODEBUILD is not set" if $xcodebuild.nil?
 
    $configuration = ENV['CONFIGURATION']	
    raise "CONFIGURATION is not set" if $configuration.nil?

    $sdk = ENV['SDK_NAME']	
    raise "SDK_NAME is not set" if $sdk.nil?

    $bindir = ENV['PLATFORM_DEVELOPER_BIN_DIR']
    raise "PLATFORM_DEVELOPER_BIN_DIR is not set" if $bindir.nil?
    
    $sdkroot = ENV['SDKROOT']
    raise "SDKROOT is not set" if $sdkroot.nil?

    $arch = ENV['ARCHS']
    raise "ARCHS is not set" if $arch.nil?
    
    $gccbin = $bindir + '/gcc-4.2'
    $arbin = $bindir + '/ar'

  end

  task :all => :config do

    iphone_path = '.'

    simulator = $sdk =~ /iphonesimulator/

    if $configuration == 'Distribution'
       $configuration = 'Release'
    end

    result_lib = iphone_path + '/build/' + $configuration + '-' + ( simulator ? "iphonesimulator" : "iphoneos") + '/libSymboldevice.a'
    target_lib = $targetdir + '/libSymboldevice.a'

    rm_rf 'build'
    rm_rf target_lib

    args = ['build', '-target', 'Symboldevice', '-configuration', $configuration, '-sdk', $sdk]

    require File.join(ENV['RHO_ROOT'], 'platform','iphone','rbuild','iphonecommon')

    ret = IPhoneBuild.run_and_trace($xcodebuild,args)

    # copy result to $targetdir
    cp result_lib,target_lib

  end


end

task :default => "build:all"
